package com.xasxt.book.app.web;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.xasxt.book.app.entity.Order;
import com.xasxt.book.app.entity.User;
import com.xasxt.book.app.service.OrderService;
/**
 * 
 * 功能:订单控制器
 * 开发者:虫儿飞
 * 开发时间:2018年5月19日 下午1:51:44
 */
@RestController
public class OrderController {

	@Autowired
	private  OrderService  orderService;
	


	/**
	 * 
	 * 功能:下单信息查询
	 * 开发者:虫儿飞
	 * 开发时间:2018年6月2日 上午9:31:15
	 * @param page
	 * @param rows
	 * @param uName
	 * @return
	 */
	@RequestMapping("findOrderWithPage")
	public Map<String,Object>findUserWithPage(int page,int rows,String uName){
		Map<String,Object>map=new HashMap<String,Object>();
		Subject subject=SecurityUtils.getSubject();
		Session session=	subject.getSession();
		User user=(User)session.getAttribute("user");
		if(user!=null) {
			map.put("email", user.getEmail());

		}
		map.put("page", (page-1)*rows);
		map.put("rows", rows);
		Map<String,Object>mapResult=new HashMap<String,Object>();
		mapResult.put("total", orderService.getOrderCount(map));
		mapResult.put("rows", orderService.findOrderWithPage(map));
		return mapResult;
	}

	/**
	 * 
	 * 功能:客户下单
	 * 开发者:虫儿飞
	 * 开发时间:2018年6月2日 上午9:31:56
	 * @param order
	 * @return
	 */
	
	@RequestMapping("saveOrderInfo")
	public  boolean saveOrderInfo(Order order) {
		Subject subject=SecurityUtils.getSubject();
		Session session=	subject.getSession();
		User user=(User)session.getAttribute("user");
		order.setOrderTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
		if(user!=null) {
			order.setuId(user.getuId());
		}
		return orderService.saveOrderInfo(order);

	}
	/**
	 * 
	 * 功能:购买算出总价
	 * 开发者:虫儿飞
	 * 开发时间:2018年6月2日 上午10:15:56
	 * @return
	 */
	@RequestMapping("buyBook")
	public double  buyBook() {
		Subject subject=SecurityUtils.getSubject();
		Session session=	subject.getSession();
		User user=(User)session.getAttribute("user");
		
		return orderService.buyBooks(user.getuId());
	}

}
